home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d15
/
maximo_1.arc
/
TXT.ARC
/
ROI.TXT
< prev
next >
Wrap
Text File
|
1991-08-20
|
14KB
|
608 lines
;
; ROI -- (c) Copyright 1990 Chris Butler
;
set all off
goto top
all:
set all on
top:
video 1
color 1
clearscr
color 15 1
set all_savings 0
set tot_sav_1 0
set tot_sav_2 0
set tot_sav_3 0
set inv_value 0
set inv_sav_1 0
set inv_sav_2 0
set inv_sav_3 0
set purch_value 0
set purch_sav_1 0
set purch_sav_2 0
set purch_sav_3 0
set labor_value 0
set labor_sav_1 0
set labor_sav_2 0
set labor_sav_3 0
set down_hrs 0
set prod_cost 0
set down_cost 0
set prodn_sav_1 0
set prodn_sav_2 0
set prodn_sav_3 0
set equip_value 0
set equip_sav_1 0
set equip_sav_2 0
set equip_sav_3 0
; INITIAL PAINT SCREEN
; HEADER AREA
databegin line1
text 0,24 chr(201)
mark 33
text chr(205)
loop
text " MAXIMO ROI "
mark 33
text chr(205)
loop
text 79,24 chr(187)
text 0,23 chr(186)$@$chr(186)
text 0,22 chr(186)$@$chr(186)
text 0,21 chr(200)
mark 78
text chr(205)
loop
text chr(188)
; WORKSHEET AREA
databegin title_row
text 0,20 chr(201)$@$chr(187)
text 0,19 chr(186)$@$chr(186)
text 0,18 chr(204)$@$chr(185)
databegin inv
text 0,17 chr(186)$@$chr(186)
text 0,16 chr(199)$@$chr(182)
databegin purch
text 0,15 chr(186)$@$chr(186)
text 0,14 chr(199)$@$chr(182)
databegin labor
text 0,13 chr(186)$@$chr(186)
text 0,12 chr(199)$@$chr(182)
databegin prodn
text 0,11 chr(186)$@$chr(186)
text 0,10 chr(186)$@$chr(186)
text 0,9 chr(186)$@$chr(186)
text 0,8 chr(199)$@$chr(182)
databegin equip
text 0,7 chr(186)$@$chr(186)
text 0,6 chr(199)$@$chr(182)
text 0,5 chr(186)$@$chr(186)
text 0,4 chr(200)$@$chr(188)
databegin cmds
color 15 7
text 1,0 @
text 36,0 chr(25)
WHEN F10 GOTO CLOCK
; GET INV VALUES
getinv:
color 15 ; start w/inv sect hilited
rect 25,17 33,17
color 1 15
text 34-len(@inv_value),17 @inv_value
color 1 7
databegin invhlp
text 1,3 @
text 1,2 @
text 1,1 @
color 1 15
set var3 right(@inv_value,1)
intin 25,17 @var3
if @0==skip inv_skip
if @0==up inv_skip
set inv_value @0
inv_skip:
set inv_sav_1 (@inv_value/100)*3
set inv_sav_2 (@inv_value/100)*5
set inv_sav_3 (@inv_value/100)*7
color 1
rect 25,17 33,17
rect 39,17 48,17
rect 54,17 63,17
rect 69,17 78,17
color 15 1
text 34-len(@inv_value),17 @inv_value
text 48-len(@inv_sav_1),17 @inv_sav_1
text 63-len(@inv_sav_2),17 @inv_sav_2
text 78-len(@inv_sav_3),17 @inv_sav_3
sum_savings
if @0==up getequip
; GET PURCH VALUES
getpurch:
color 15
rect 25,15 33,15
color 1 15
text 34-len(@purch_value),15 @purch_value
color 15 1
text 48-len(@purch_sav_1),15 @purch_sav_1
text 63-len(@purch_sav_2),15 @purch_sav_2
text 78-len(@purch_sav_3),15 @purch_sav_3
color 1 7
databegin purchhlp
text 1,3 @
text 1,2 @
text 1,1 @
color 1 15
set var3 right(@purch_value,1)
intin 25,15 @var3
if @0==skip purch_skip
if @0==up purch_skip
set purch_value @0
purch_skip:
set purch_sav_1 (@purch_value/100)*5
set purch_sav_2 (@purch_value/100)*10
set purch_sav_3 (@purch_value/100)*15
sum_savings
color 1
rect 25,15 33,15
rect 39,15 48,15
rect 54,15 63,15
rect 69,15 78,15
color 15 1
text 34-len(@purch_value),15 @purch_value
text 48-len(@purch_sav_1),15 @purch_sav_1
text 63-len(@purch_sav_2),15 @purch_sav_2
text 78-len(@purch_sav_3),15 @purch_sav_3
if @0==up getinv
; GET LABOR VALUE
getlabor:
color 15
rect 25,13 33,13
color 1 15
text 34-len(@labor_value),13 @labor_value
color 15 1
text 48-len(@labor_sav_1),13 @labor_sav_1
text 63-len(@labor_sav_2),13 @labor_sav_2
text 78-len(@labor_sav_3),13 @labor_sav_3
color 1 7
databegin laborhlp
text 1,3 @
text 1,2 @
text 1,1 @
color 1 15
set var3 right(@labor_value,1)
intin 25,13 @var3
if @0==skip labor_skip
if @0==up labor_skip
set labor_value @0
labor_skip:
set labor_sav_1 (@labor_value/100)*5
set labor_sav_2 (@labor_value/100)*10
set labor_sav_3 (@labor_value/100)*20
sum_savings
color 1
rect 25,13 33,13
rect 39,13 48,13
rect 54,13 63,13
rect 69,13 78,13
color 15 1
text 34-len(@labor_value),13 @labor_value
text 48-len(@labor_sav_1),13 @labor_sav_1
text 63-len(@labor_sav_2),13 @labor_sav_2
text 78-len(@labor_sav_3),13 @labor_sav_3
if @0==up getpurch
; GET PRODN NUMBERS
getprodn:
color 15
rect 25,11 33,11
color 1 15
text 34-len(@down_hrs),11 @down_hrs
color 1 7
databegin prodnhlp
text 1,3 @
text 1,2 @
text 1,1 @
color 1 15
set var3 right(@down_hrs,1)
intin 25,11 @var3
if @0==skip hrs_skip
if @0==up hrs_skip
set down_hrs @0
hrs_skip:
set down_cost @prod_cost*@down_hrs
set prodn_sav_1 (@down_cost*3)/100
set prodn_sav_2 (@down_cost*5)/100
set prodn_sav_3 (@down_cost*10)/100
color 1
rect 25,11 33,11
rect 25,9 33,9
rect 39,9 48,9
rect 54,9 63,9
rect 69,9 78,9
color 15 1
text 34-len(@down_hrs),11 @down_hrs
text 34-len(@down_cost),9 @down_cost
text 48-len(@prodn_sav_1),9 @prodn_sav_1
text 63-len(@prodn_sav_2),9 @prodn_sav_2
text 78-len(@prodn_sav_3),9 @prodn_sav_3
sum_savings
if @0==up getlabor
getcost:
color 15
rect 25,10 33,10
color 1 15
text 34-len(@prod_cost),10 @prod_cost
set var3 right(@prod_cost,1)
intin 25,10 @var3
if @0==skip cost_skip
if @0==up cost_skip
set prod_cost @0
cost_skip:
set down_cost @prod_cost*@down_hrs
set prodn_sav_1 (@down_cost*3)/100
set prodn_sav_2 (@down_cost*5)/100
set prodn_sav_3 (@down_cost*10)/100
color 1
rect 25,10 33,10
rect 25,9 33,9
rect 39,9 48,9
rect 54,9 63,9
rect 69,9 78,9
color 15 1
text 34-len(@prod_cost),10 @prod_cost
text 34-len(@down_cost),9 @down_cost
text 48-len(@prodn_sav_1),9 @prodn_sav_1
text 63-len(@prodn_sav_2),9 @prodn_sav_2
text 78-len(@prodn_sav_3),9 @prodn_sav_3
sum_savings
if @0==up getprodn
; GET EQUIP VALUE
getequip:
color 15
rect 25,7 33,7
color 1 15
text 34-len(@equip_value),7 @equip_value
color 15 1
text 48-len(@equip_sav_1),7 @equip_sav_1
text 63-len(@equip_sav_2),7 @equip_sav_2
text 78-len(@equip_sav_3),7 @equip_sav_3
color 1 7
databegin equiphlp
text 1,3 @
text 1,2 @
text 1,1 @
color 1 15
set var3 right(@equip_value,1)
intin 25,7 @var3
if @0==skip equip_skip
if @0==up equip_skip
set equip_value @0
equip_skip:
set equip_sav_1 (@equip_value/100)
set equip_sav_2 (@equip_value/100)*2
set equip_sav_3 (@equip_value/100)*5
sum_savings
color 1
rect 25,7 33,7
rect 39,7 48,7
rect 54,7 63,7
rect 69,7 78,7
color 15 1
text 34-len(@equip_value),7 @equip_value
text 48-len(@equip_sav_1),7 @equip_sav_1
text 63-len(@equip_sav_2),7 @equip_sav_2
text 78-len(@equip_sav_3),7 @equip_sav_3
if @0==up getcost
goto getinv
; SUBR SUM_SAVINGS -- add all savings
;
sum_savings:
set tot_sav_1 @inv_sav_1+@purch_sav_1+@labor_sav_1
set tot_sav_1 @tot_sav_1+@prodn_sav_1+@equip_sav_1
set tot_sav_2 @inv_sav_2+@purch_sav_2+@labor_sav_2
set tot_sav_2 @tot_sav_2+@prodn_sav_2+@equip_sav_2
set tot_sav_3 @inv_sav_3+@purch_sav_3+@labor_sav_3
set tot_sav_3 @tot_sav_3+@prodn_sav_3+@equip_sav_3
color 1
rect 39,5 48,5
rect 54,5 63,5
rect 69,5 78,5
color 15 1
text 48-len(@tot_sav_1),5 @tot_sav_1
text 63-len(@tot_sav_2),5 @tot_sav_2
text 78-len(@tot_sav_3),5 @tot_sav_3
return ; SUBR SUM_SAVINGS
-------------------------------------------------
; SUBR INTIN -- gets an integer from kbrd
; @1 = x
; @2 = y
; @3 = blink bgrnd (for flashing)
intin:
set x @1
set y @2
local newint ""
local newchar 0
set blinkchar @3
set firsttime true
int_top:
text @x+8,@y chr(177)
waitkey 25 inv_loop_2
text @x+8,@y @blinkchar ; blank out the first spot
goto inv_loop_3
inv_loop_2:
text @x+8,@y @blinkchar
waitkey 25 int_top
inv_loop_3:
getkey newchar
if asc(@newchar)<asc("0") not_numb
if asc(@newchar)>asc("9") not_numb
set newint @newint$@newchar
goto next_char
waitkey ; after 0<c<9
not_numb:
if asc(@newchar)==13 lv_intin ; enter?
if asc(@newchar)==8 back_up ; enter?
if asc(@newchar)==80 dn_arrow ; down arrow?
if asc(@newchar)==72 up_arrow
noise 500 300 20
goto next_char
back_up:
if len(@newint)==0 next_char ; 0 len str?
set newint left(@newint,len(@newint)-1) ; drop last digit
goto next_char
next_char:
set firsttime false
color 15
rect @x,@y @x+8,@y
color 1,15
text @x+9-len(@newint),@y @newint
if len(@newint)==9 lv_intin ; max input length
if len(@newint)==0 ; update blink bgrnd
set blinkchar " "
else
set blinkchar right(@newint,1)
endif
goto int_top
dn_arrow:
return "skip"
up_arrow:
return "up"
lv_intin:
if @firsttime<>true lv_int_2
return "skip" ; just <Enter> = DOWN
lv_int_2:
note 500 20 10
if len(@newint)==0
set newint 0 ; backsp whole entry
endif
return @newint ; END SUBR INTIN
---------------------------------
line1:
" Use this worksheet to see how much money MAXIMO Series 3 can save you. Note "
" that savings increase over time as you gain experience with MAXIMO and CMMS. "
dataend
title_row:
"══════════════════════╤══════════╤══════════════╤══════════════╤══════════════"
" SAVINGS CATEGORY │ VALUE │ YR 1 SAVINGS │ YR 2 SAVINGS │ YR 3 SAVINGS "
"══════════════════════╪══════════╪══════════════╪══════════════╪══════════════"
;012345678901234567890123456789012345678901234567890123456789012345678901234567
inv:
"1. Spares Inventory │ │ 3% │ 5% │ 7% "
"──────────────────────┼──────────┼──────────────┼──────────────┼──────────────"
purch:
"2. Maint. Purchases │ │ 5% │ 10% │ 15% "
"──────────────────────┼──────────┼──────────────┼──────────────┼──────────────"
labor:
"3. Overtime Labor │ │ 5% │ 10% │ 20% "
"──────────────────────┼──────────┼──────────────┼──────────────┼──────────────"
prodn:
"4. Downtime (hrs/yr) │ │ │ │ "
" cost/lost hour │ │ │ │ "
" downtime cost/yr │ │ 3% │ 5% │ 10% "
"──────────────────────┼──────────┼──────────────┼──────────────┼──────────────"
equip:
"5. Prod. Asset Value │ │ 1% │ 2% │ 5% "
"══════════════════════╪══════════╪══════════════╪══════════════╪══════════════"
"* Savings Potential │ │ $ │ $ │ $ "
"══════════════════════╧══════════╧══════════════╧══════════════╧══════════════"
cmds:
" <Backspace>=erase <Enter>=accept < >=next row <PrintScreen>=print <F10>=done "
invhlp:
" MAXIMO helps minimize stock levels, minimize sku's, eliminate obsolete parts."
" Reducing inventory saves interest, warehousing, insurance, etc. In Year 3 "
" reduce inventory 20% and save 35% inventory carrying costs to net 7% savings."
purchhlp:
" MAXIMO helps secure vendors' best prices, minimize emergency order costs, and"
" predict expenditures. Savings increase to 15% of maintenance purchases. "
" Please enter current annual maintenance purchases. "
laborhlp:
" MAXIMO matches labor skills to jobs, identifies needed parts and tools, and "
" uses PM to reduce emergencies. Only overtime reduction is included here. "
" (Regular labor productivity gain is substantial, but difficult to estimate.) "
prodnhlp:
" MAXIMO reduces unplanned downtime occurrences, minimizes maintenance time, "
" coordinates PM and production schedules, and analyzes outage history. Result "
" is reduced downtime. Enter annual downtime hours and hourly production cost. "
equiphlp:
" MAXIMO MAKES PM WORK with equipment condition tracking and prioritization "
" and management of repair projects. Equipment life extension is conserva- "
" tively estimated to save 1-5%. Enter book value of production equipment. "
clock:
video m
color 8
clearscr
set pendxoff 34
set pendyoff 82
set basex 62 ;
set basey 40
set delay 20
color 0 ; floor
rect 0,@basey-2 639,@basey-6
cload clock3.clp 1 0 0
putup @basex,@basey 1
cfree 1
cload pendulm1.clp 1 1 0
cload pendulm2.clp 2 1 0
cload pendulm3.clp 3 1 0
cload pendulm4.clp 4 1 0
cload pendulm5.clp 5 1 0
mark 4
putup @pendxoff+@basex,@pendyoff+@basey 1 @delay
putup @pendxoff+@basex,@pendyoff+@basey 2 @delay
putup @pendxoff+@basex,@pendyoff+@basey 3 @delay
note 500 10 10
putup @pendxoff+@basex,@pendyoff+@basey 2 @delay
putup @pendxoff+@basex,@pendyoff+@basey 1 @delay
putup @pendxoff+@basex,@pendyoff+@basey 4 @delay
putup @pendxoff+@basex,@pendyoff+@basey 5 @delay
note 1000 10 10
putup @pendxoff+@basex,@pendyoff+@basey 4 @delay
loop
cload roicall.clp 10 1 0
putup 176,70 10
mark 20
putup @pendxoff+@basex,@pendyoff+@basey 1
waitkey 20 pend_1
goto pend_done
pend_1:
putup @pendxoff+@basex,@pendyoff+@basey 2
waitkey 20 pend_2
goto pend_done
pend_2:
putup @pendxoff+@basex,@pendyoff+@basey 3
note 500 10 10
putup @pendxoff+@basex,@pendyoff+@basey 2
waitkey 20 pend_3
goto pend_done
pend_3:
putup @pendxoff+@basex,@pendyoff+@basey 1
waitkey 20 pend_4
goto pend_done
pend_4:
putup @pendxoff+@basex,@pendyoff+@basey 4
waitkey 20 pend_5
goto pend_done
pend_5:
putup @pendxoff+@basex,@pendyoff+@basey 5
note 1000 10 10
waitkey 10 pend_6
goto pend_done
pend_6:
putup @pendxoff+@basex,@pendyoff+@basey 4
waitkey 20 pend_7
goto pend_done
pend_7:
loop
goto pend_ex
pend_done:
break pend_ex
pend_ex:
cload roiblank.clp 10 1 1
cfade 24 176,70 10
waitkey 100
putup @pendxoff+@basex,@pendyoff+@basey 1
cfree 1 2 3 4 5 6 7
cload 12oclock.clp 1 0 0
putup @basex+50,@basey+259 1
mark 2
note 137 50 50
note 172 50 50
note 153 50 50
note 230 100 50
waitkey 50
note 230 50 50
note 153 50 50
note 137 50 50
note 172 100 50
waitkey 50
loop
if @all==on
link master.txt entry_15
else
link master.txt entry_14
; END ROI